﻿Imports StartFrame.Web.BR.Helpers
Imports StartFrame.Web.BR
Imports StartFrame.BR.Web.Helpers

Namespace Mantenimiento.Precios

    Public Class DesRec
        Inherits JsonAbm

        ''' <summary>
        ''' Esta clase se encarga de la administración de los reportes o consultas contempladas por la aplicación.
        ''' </summary>
        ''' Constructor
        Sub New()
            MyBase.New(Operador, Password, "XRDesRec", "App_desrec", "id_desrec")
            MyBase.lnk_nombreOperador = Common.Env.Operador
            'Graba tracking
            Me.lnk_Tracking = True
        End Sub

        Private Sub DesRec_Validando(ByRef cancela As Boolean, ByRef paramDataTable As System.Data.DataTable) Handles Me.Validando
            Dim row As DataRow
            'Recorre todos los registros de la tabla
            For Each row In paramDataTable.Rows
                If row.RowState <> DataRowState.Deleted Then
                    'Valida el campo obligatorio lista
                    If IsDBNull(row("id_lista")) OrElse row("id_lista").ToString = String.Empty Then
                        row.SetColumnError("id_lista", "El campo lista de precios es obligatorio.")
                        cancela = True
                    End If
                    'Valida campo obligatorio porcentaje
                    If IsDBNull(row("porcentaje")) OrElse row("porcentaje").ToString = String.Empty Then
                        row.SetColumnError("porcentaje", "El campo porcentaje es obligatorio.")
                        cancela = True
                    End If
                    'Valida campo obligatorio orden_aplica
                    If IsDBNull(row("orden_aplica")) OrElse row("orden_aplica").ToString = String.Empty Then
                        row.SetColumnError("orden_aplica", "El campo orden de aplicación es obligatorio.")
                        cancela = True
                    End If

                    'Valido que se seleccione algun combo
                    If IsDBNull(row("id_entidad")) And IsDBNull(row("id_rubro")) And IsDBNull(row("id_categ_art")) And IsDBNull(row("id_articulo")) Then
                        row.SetColumnError("id_entidad", "Al menos debe seleccionarse algun combo para el Descuento/Recargo")
                    End If
                End If
            Next
        End Sub

        Public Overrides Function List(Start As Integer, Limit As Integer, Orden As String, Filtro As String) As String
            Dim oFiltro As FiltroColeccion = FiltroColeccion.Parse(Filtro)
            If (Common.GrupoOperador.ID.Trim().ToUpper() = "PROVEEDOR") Then oFiltro.AgregarEQFilter("id_entidad", Common.EntidadOperador.ID)
            Return MyBase.List(Start, Limit, Orden, oFiltro.ToJSON())
        End Function
    End Class
End Namespace
